import Vue from 'vue'
import Router from 'vue-router'
import routes from './routers'
import config from '../config'
import store from '../store'
import { getToken, setTitle } from '@/libs/util'
Vue.use(Router)
const router = new Router({
  routes,
  mode: 'hash'
})
const LOGIN_PAGE_NAME = 'login'

router.beforeEach((to, from, next) => {
  if (to.name === config.homeName) {
    // 清理面包屑导航数据
    store.dispatch('setBreadCrumb', { list: [], name: 0 })
  }
  const token = getToken()
  console.log(token, to.name, '99999')
  if (!token && to.name !== LOGIN_PAGE_NAME) {
    // 未登录且要跳转的页面不是登录页
    next({
      name: LOGIN_PAGE_NAME // 跳转到登录页
    })
  } else if (!token && to.name === LOGIN_PAGE_NAME) {
    // 未登陆且要跳转的页面是登录页
    next() // 跳转
  } else if (token && to.name === LOGIN_PAGE_NAME) {
    console.log(config.homeName, '2222')
    // 已登录且要跳转的页面是登录页
    next({
      name: config.homeName // 跳转到homeName页
    })
  }
  next()
})

// router.afterEach(to => {
//   window.scrollTo(0, 0)
// })
router.afterEach(to => {
  console.log('store.state.user.severUserInfo', store.state.user.severUserInfo)
  let severUserInfo = store.state.user.severUserInfo
  if (severUserInfo.errcode === 0) {
    store.commit('setSeverUserInfo', severUserInfo.data)
  }
  console.log('reload.store.state.user.severUserInfo', store.state.user.severUserInfo)
  setTitle(to, router.app)
  iView.LoadingBar.finish()
  window.scrollTo(0, 0)
})
export default router
